home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / mint / l_1599 / 1280 < prev    next >
Encoding:
Internet Message Format  |  1994-08-27  |  2.6 KB

  1. From: Julian Reschke <reschke@GOEDEL.UNI-MUENSTER.DE>
  2. Subject: metados.h
  3. Date: Thu, 21 Apr 94 13:51:28 MET DST
  4.  
  5. /*
  6.     Defines and prototypes for MetaDOS functions
  7.     
  8.     Copyright (c) Julian F. Reschke (jr@ms.maus.de), 15. April 1994
  9.     Free distribution and usage allowed as long as the file remains 
  10.     unchanged.
  11.     
  12.     See MetaDOS developer manuals for a description of the data structures.
  13. */
  14.  
  15. #ifndef _METADOS_H
  16. #define _METADOS_H
  17.  
  18. typedef struct
  19. {
  20.     unsigned char trackno, minute, second, frame;
  21. } CD_TOC_ENTRY;
  22.  
  23. typedef struct
  24. {
  25.     unsigned char disctype;        /* 0: audio, 1: data */
  26.     unsigned char firsttrack, lasttrack, curtrack;
  27.     unsigned char relposz, relposm, relposs, relposf;
  28.     unsigned char absposz, absposm, absposs, absposf;
  29.     unsigned char endposz, endposm, endposs, endposf;
  30.     unsigned char index, res[3];
  31.     unsigned long reserved[123];
  32. } CD_DISC_INFO;
  33.  
  34. typedef struct
  35. {
  36.     unsigned short    mi_version;    /* 0x230 == '02.30' */
  37.     long             mi_magic;    /* == '_MET' */
  38.     const char         *mi_log2phys;    /* maps DOS-IDs to MetaDOS XBIOS device numbers */
  39. } META_INFO_2;
  40.  
  41. typedef struct
  42. {
  43.     unsigned long    mi_drivemap;
  44.     const char         *mi_version_string;
  45.     long             reserved;
  46.     META_INFO_2        *mi_info;
  47. } META_INFO_1;
  48.  
  49. typedef struct
  50. {
  51.     char             *mdr_name;
  52.     long             res[3];
  53. } META_DRVINFO;
  54.  
  55. typedef struct
  56. {
  57.     long    mdi_magic;        /* 'INFO' */
  58.     long    mdi_length;        /* size of this structure (input
  59.                                and output parm) */
  60.     short    mdi_major;        /* major and minor device number, */
  61.     short    mdi_minor;        /* ... -1 if unknown */
  62.     char    mdi_name[64];    /* device name */
  63.     short    mdi_devtype;    /* SCSI device type or -1 for unknown */
  64. } META_DEVINFO;
  65.  
  66. #define METAGETDEVINFO    0    /* Ioctl # for above info, only supported by
  67.                                some drivers */
  68.  
  69. void Metainit (META_INFO_1 *);
  70. long Metaopen (short drive, META_DRVINFO *buffer);
  71. long Metaclose (short drive);
  72. long Metaread (short drive, void *buffer, long blockno, short blks);
  73. long Metawrite (short drive, void *buffer, long blockno, short blks);
  74. long Metastatus (short drive, void *buffer);
  75. long Metaioctl (short drive, long magic, short opcode, void *buffer);
  76. long Metasetsongtime (short drive, short repeat, long starttime, long endtime);
  77. long Metagettoc (short drive, short flag, CD_TOC_ENTRY *buffer);
  78. long Metadiscinfo (short drive, CD_DISC_INFO *p);
  79. long Metastartaudio (short drive, short flag, unsigned char *bytearray);
  80. long Metastopaudio (short drive);
  81.  
  82. #endif
  83.  
  84. -- 
  85. ---------------------------------------------------
  86. Julian F. Reschke, Hensenstr. 142, D-48161 Muenster
  87.  eMail: reschke@math.uni-muenster.de jr@ms.maus.de
  88. ___________________________________________________
  89.